package com.github.chirspan.xaas.uc.model;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.chirspan.xaas.mybatis.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

/**
 * @Author: chenpan
 * @Date: 2021-08-10 11:03:10
 * @Description: 人员信息
 */
@TableName(value = "xaas_org_practitioner")
@Data
@ToString(callSuper = true)
public class OrgPractitioner extends BaseModel {

    @ApiModelProperty(value = "所属机构id")
    @TableField(value = "org_id")
    private String orgId;

    @ApiModelProperty(value = "科室id ")
    @TableField(value = "dept_id")
    private String deptId;

    @ApiModelProperty(value = "工号 ")
    @TableField(value = "practitioner_no")
    private String practitionerNo;

    @ApiModelProperty(value = "姓名 ")
    @TableField(value = "practitioner_name")
    private String practitionerName;

    @ApiModelProperty(value = "国籍编码 (GB/T 2659)")
    @TableField(value = "nationality_code")
    private String nationalityCode;

    @ApiModelProperty(value = "国籍名称 (GB/T 2659)")
    @TableField(value = "nationality_name")
    private String nationalityName;

    @ApiModelProperty(value = "民族编码 (GB/T 3304)")
    @TableField(value = "nation_code")
    private String nationCode;

    @ApiModelProperty(value = "民族名称 (GB/T 3304)")
    @TableField(value = "nation_name")
    private String nationName;

    @ApiModelProperty(value = "身份证号 ")
    @TableField(value = "identification_no")
    private String identificationNo;

    @ApiModelProperty(value = "性别代码 (GB/T 2261.1)")
    @TableField(value = "gender_code")
    private String genderCode;

    @ApiModelProperty(value = "性别名称 (GB/T 2261.1)")
    @TableField(value = "gender_name")
    private String genderName;

    @ApiModelProperty(value = "出生日期")
    @TableField(value = "birthdate")
    private Date birthdate;

    @ApiModelProperty(value = "电话 ")
    @TableField(value = "telecom")
    private String telecom;

    @ApiModelProperty(value = "婚姻状况代码 ")
    @TableField(value = "marital_status_code")
    private String maritalStatusCode;

    @ApiModelProperty(value = "婚姻状况名称 ")
    @TableField(value = "marital_status_name")
    private String maritalStatusName;

    @ApiModelProperty(value = "籍贯 ")
    @TableField(value = "native_place")
    private String nativePlace;

    @ApiModelProperty(value = "政治面貌代码 ")
    @TableField(value = "politics_status_code")
    private String politicsStatusCode;

    @ApiModelProperty(value = "政治面貌名称 ")
    @TableField(value = "politics_status_name")
    private String politicsStatusName;

    @ApiModelProperty(value = "地址-省 ")
    @TableField(value = "addr_province")
    private String addrProvince;

    @ApiModelProperty(value = "地址-市 ")
    @TableField(value = "addr_city")
    private String addrCity;

    @ApiModelProperty(value = "地址-县 ")
    @TableField(value = "addr_county")
    private String addrCounty;

    @ApiModelProperty(value = "地址-乡 ")
    @TableField(value = "addr_town")
    private String addrTown;

    @ApiModelProperty(value = "地址-村 ")
    @TableField(value = "addr_village")
    private String addrVillage;

    @ApiModelProperty(value = "地址-门牌号 ")
    @TableField(value = "addr_house_no")
    private String addrHouseNo;

    @ApiModelProperty(value = "邮编 ")
    @TableField(value = "zip_code")
    private String zipCode;

    @ApiModelProperty(value = "学历代码 (GB/T 4658)")
    @TableField(value = "education_level_code")
    private String educationLevelCode;

    @ApiModelProperty(value = "学历名称 (GB/T 4658)")
    @TableField(value = "education_level_name")
    private String educationLevelName;

    @ApiModelProperty(value = "学位代码 (GB/T 6864)")
    @TableField(value = "degree_code")
    private String degreeCode;

    @ApiModelProperty(value = "学位名称 (GB/T 6864)")
    @TableField(value = "degree_name")
    private String degreeName;

    @ApiModelProperty(value = "专业代码 (GB/T 16835)")
    @TableField(value = "subject_code")
    private String subjectCode;

    @ApiModelProperty(value = "专业名称 (GB/T 16835)")
    @TableField(value = "subject_name")
    private String subjectName;

    @ApiModelProperty(value = "毕业院校 ")
    @TableField(value = "graduate_school_name")
    private String graduateSchoolName;

    @ApiModelProperty(value = "参加工作日期 ")
    @TableField(value = "work_begin_date")
    private String workBeginDate;

    @ApiModelProperty(value = "岗位类别 (医、技、护)")
    @TableField(value = "job_category")
    private String jobCategory;

    @ApiModelProperty(value = "专业技术职务代码 (GB/T 8561)")
    @TableField(value = "technical_qualifications_code")
    private String technicalQualificationsCode;

    @ApiModelProperty(value = "专业技术职务名称 ")
    @TableField(value = "technical_qualifications_name")
    private String technicalQualificationsName;

    @ApiModelProperty(value = "专业技术职务类别代码 (CV08.30.005)")
    @TableField(value = "technical_position_category_code")
    private String technicalPositionCategoryCode;

    @ApiModelProperty(value = "专业技术职务类别名称 ")
    @TableField(value = "technical_position_category_name")
    private String technicalPositionCategoryName;

    @ApiModelProperty(value = "行政/业务管理职务代码 (GB/T 12403)")
    @TableField(value = "management_position_code")
    private String managementPositionCode;

    @ApiModelProperty(value = "行政/业务管理职务名称 ")
    @TableField(value = "management_position_name")
    private String managementPositionName;

    @ApiModelProperty(value = "行政职级代码 ")
    @TableField(value = "administration_level_code")
    private String administrationLevelCode;

    @ApiModelProperty(value = "行政职级名称 ")
    @TableField(value = "administration_level_name")
    private String administrationLevelName;

    @ApiModelProperty(value = "职称代码 ")
    @TableField(value = "title_code")
    private String titleCode;

    @ApiModelProperty(value = "职称名称 ")
    @TableField(value = "title_name")
    private String titleName;

    @ApiModelProperty(value = "职称级别代码 (高级、中级、初级)")
    @TableField(value = "title_level_code")
    private String titleLevelCode;

    @ApiModelProperty(value = "职称级别名称 (高级、中级、初级)")
    @TableField(value = "title_level_name")
    private String titleLevelName;

    @ApiModelProperty(value = "编制人员 ")
    @TableField(value = "is_organizational")
    private Boolean isOrganizational;

    @ApiModelProperty(value = "职务 ")
    @TableField(value = "position_name")
    private String positionName;

    @ApiModelProperty(value = "人员类别代码 ")
    @TableField(value = "practitioner_category_code")
    private String practitionerCategoryCode;

    @ApiModelProperty(value = "人员类别名称 ")
    @TableField(value = "practitioner_category_name")
    private String practitionerCategoryName;

    @ApiModelProperty(value = "在岗状态代码 ")
    @TableField(value = "active_status_code")
    private String activeStatusCode;

    @ApiModelProperty(value = "在岗状态名称 ")
    @TableField(value = "active_status_name")
    private String activeStatusName;

    @ApiModelProperty(value = "资格证书编号 ")
    @TableField(value = "qualification_certificate_no")
    private String qualificationCertificateNo;

    @ApiModelProperty(value = "执业证书编号 ")
    @TableField(value = "practising_certificate_no")
    private String practisingCertificateNo;

    @ApiModelProperty(value = "擅长领域 ")
    @TableField(value = "expertise_field")
    private String expertiseField;

    @ApiModelProperty(value = "详细介绍 ")
    @TableField(value = "detailed_introduction")
    private String detailedIntroduction;

    @ApiModelProperty(value = "照片 ")
    @TableField(value = "photograph")
    private String photograph;

    @ApiModelProperty(value = "电子签名 ")
    @TableField(value = "electronic_signature")
    private String electronicSignature;

}

